package com.siwei.apply.mapper;

import com.siwei.apply.domain.Gyjsydjfwscdj;
import com.siwei.apply.domain.vo.GyjsydjfwscdjUpdateVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

// 国有建设用地使用权及房屋所有权首次登记 Mapper 接口
@Mapper
public interface GyjsydjfwscdjMapper {
    /**
     * 根据项目id查询是否存在
     */
    Boolean isExit(String projectId);

    /**
     * 添加国有建设用地使用权及房屋所有权首次登记信息
     *
     * @param gyjsydjfwscdj
     */
    void add(Gyjsydjfwscdj gyjsydjfwscdj);

    /**
     * 根据项目ID获取列表（与Jsgcghxk模式一致）
     */
    List<Gyjsydjfwscdj> get(String projectId);

    /**
     * 根据主键ID获取单条记录
     */
    Gyjsydjfwscdj getById(@Param("id") String id);

    /**
     * 更新国有建设用地使用权及房屋所有权首次登记信息
     *
     * @param gyjsydjfwscdjUpdateVo
     */
    void update(GyjsydjfwscdjUpdateVo gyjsydjfwscdjUpdateVo);

    /**
     * 更新国有建设用地使用权及房屋所有权首次登记的上链状态
     * @param id 主键ID
     * @param hasOnchain 是否上链
     */
    void updateHasOnchain(@Param("id") String id, @Param("hasOnchain") Boolean hasOnchain);
}
